Raspberry Pi /RP2350 /POWMAN /STATE

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as STATE

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0CURRENT0REQ0 (REQ_IGNORED)REQ_IGNORED 0 (PWRUP_WHILE_WAITING)PWRUP_WHILE_WAITING 0 (BAD_SW_REQ)BAD_SW_REQ 0 (BAD_HW_REQ)BAD_HW_REQ 0 (WAITING)WAITING 0 (CHANGING)CHANGING

Description

This register controls the power state of the 4 power domains. The current power state is indicated in POWMAN_STATE_CURRENT which is read-only. To change the state, write to POWMAN_STATE_REQ. The coding of POWMAN_STATE_CURRENT & POWMAN_STATE_REQ corresponds to the power states defined in the datasheet: bit 3 = SWCORE bit 2 = XIP cache bit 1 = SRAM0 bit 0 = SRAM1 0 = powered up 1 = powered down When POWMAN_STATE_REQ is written, the POWMAN_STATE_WAITING flag is set while the Power Manager determines what is required. If an invalid transition is requested the Power Manager will still register the request in POWMAN_STATE_REQ but will also set the POWMAN_BAD_REQ flag. It will then implement the power-up requests and ignore the power down requests. To do nothing would risk entering an unrecoverable lock-up state. Invalid requests are: any combination of power up and power down requests any request that results in swcore boing powered and xip unpowered If the request is to power down the switched-core domain then POWMAN_STATE_WAITING stays active until the processors halt. During this time the POWMAN_STATE_REQ field can be re-written to change or cancel the request. When the power state transition begins the POWMAN_STATE_WAITING_flag is cleared, the POWMAN_STATE_CHANGING flag is set and POWMAN register writes are ignored until the transition completes.

Fields

CURRENT
REQ
REQ_IGNORED
PWRUP_WHILE_WAITING

Request ignored because of a pending pwrup request. See current_pwrup_req. Note this blocks powering up AND powering down.

BAD_SW_REQ

Bad software initiated state request. No action taken.

BAD_HW_REQ

Bad hardware initiated state request. Went back to state 0 (i.e. everything powered up)

WAITING
CHANGING

Links

() ()